﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace kalkulator
{
    public partial class Form1 : Form
    {
		Kalkulator calc;
        public Form1()
        {
            InitializeComponent();
        }

        private void maskedTextBox1_MaskInputRejected(object sender, MaskInputRejectedEventArgs e)
        {

        }

        private void label2_Click(object sender, EventArgs e)
        {

        }

        private void Form1_Load(object sender, EventArgs e)
        {

        }

		private void buttonOblicz_Click(object sender, EventArgs e)
		{
			this.calc = new Kalkulator(input.Text.Trim());
			output.Text = this.calc.Result.ToString();
		}

		private void input_KeyPress(object sender, KeyPressEventArgs e)
		{
			if (e.KeyChar == 13) {
				buttonOblicz_Click(buttonOblicz, e);
			}
		}

		private void insertButton_Click(object sender, EventArgs e)
		{
			input.Text = input.Text.Trim() + output.Text.Trim();
		}

		private void output_TextChanged(object sender, EventArgs e)
		{
			if (!insertButton.Enabled && output.Text != "") {
				insertButton.Enabled = true;
			}
		}

		private void helpButton_Click(object sender, EventArgs e)
		{
			string text = "Poprawny format wpisywanych danych to: \n<liczba>, lub \n<liczba1><znak><liczba2>, gdzie:\n\t<liczba>, <liczba1> i <liczba2> to dowolne liczby nie zawierające żadnych znaków poza cyframi, opcjonalnym znakiem \"-\" na początku, oraz znakiem \",\" lub \".\" w celu oddzielenia części całkowitej od części ułamkowej liczby. Notacja naukowa z \"e\" nie jest obsługiwana.\n\t<znak>to jeden ze znaków: \"+\", \"-\", \"*\", \"/\", odpowiadających odpowiednio dodawaniu, odejmowaniu, mnożeniu i dzieleniu.";
			MessageBox.Show(text);
		}
    }
}
